package com.ripcore.model;

import lombok.Data;

import java.time.Instant;

/**
 * 路由条目类，用于表示RIP协议中的路由信息。
 * 包含目标网络、跳数、下一跳路由器、更新时间等关键信息，
 * 以及用于路由更新和抑制的辅助字段。
 */
@Data
public class RouteEntry {
    /** 目标网络地址，例如 "10.0.1.0/24" 或简化表示如 "R1" */
    private String destination;
    /** 跳数度量值，范围为 1 到 16，其中 16 表示不可达 */
    private int metric;
    /** 下一跳路由器的 ID */
    private String nextHop;
    /** 路由条目最后更新的时间戳 */
    private Instant lastUpdated;
    /** 标记路由条目是否已更改，用于触发更新消息的发送 */
    private boolean changed;
    /** 抑制计时器剩余时间（秒），防止路由抖动 */
    private int holdDownRemainingSeconds;
}
